/** ************************列表数据代码转名称公共方法--begin********************************* */




/**
 * tableName,要查询的表名 sField,要展示的列名 fField,要查询的列名 fData,要查询的列的具体的值 objectType
 * 当前的实体类
 */
function fmtCode(tableName,sField,fField,fData){
	var result;
	if(typeof(fData) != "undefined"){
		var data = {
			tableName:tableName,
			sField:sField,
			fField:fField,
			fData:fData
		};
		$.ajax({  
		     type:'POST',  
		     async: false,
		     data:data,
		     url:contextPath+"/main/main/GetNameById",  
		     success: function (data) {  
		       result=data;
		     },  
		     error:function(data){  
		       result="数据加载异常";
		     }  
		}); 
	}
	return ""+result;
}
/** ************************列表数据代码转名称公共方法--end********************************* */	

/**
 * 是否是第一条数据
 * 
 * @param dg
 * @param row
 * @returns {Boolean}
 */
function isFirstRow(dg, row) {
	var index = $("#"+dg).datagrid("getRowIndex", row);
	if (index == 0) {
		return true;
	}
	return false;
}
/**
 * 是否是最后一条数据
 * 
 * @param dg
 * @param row
 * @returns {Boolean}
 */
function isLastRow(dg, row) {
	var rowNum = $("#"+dg).datagrid("getRows").length;
	var index = $("#"+dg).datagrid("getRowIndex", row);
	if (index == (rowNum - 1)) {
		return true;
	}
	return false;
}	

// 重置form表单
function clearForm(formId) {
	$('#'+formId).form('reset');
	var cityvals = $("input[id^='cityval']");
	if(cityvals.length>0){
		cityvals.each(function(){
		    $(this).val("");
		});
	}
}
//清除指定标签内的搜索条件
function searchReset(name){
	$("#"+name).find(":input").val("");
	// doSearch();
}
// 关闭diglog
function close_dialog(formId) {
    $('#'+formId).dialog("close");
}

//删除一条
function removeRow(id) {
	removeRowData(id);
    // $("#topdatagrid").datagrid("reload");
}
//删除多条
function removeRows() {
    var checkedrow = $("#topdatagrid").datagrid("getChecked");
    removeRowsData(checkedrow);
    // $("#topdatagrid").datagrid("reload");
}
//编辑一条数据 打开dialog
function editRowDialog(title,id,width,height){
    if(id!=null){
		openDialog(title,id,width,height);
    }
}
//编辑一条数据 打开tab
function editRowTab(title,id){
    if(id!=null){
    	openTabs(title,id);
    }
}  
//显示一条数据详情 打开dialog
function showRowDialog(title,id,width,height){
    if(id!=null){
    	openDetailDialog(title,id,width,height);
    }
}

//显示一条数据详情 打开tab
function showRowTab(title,id){
	if(id!=null){
	 	openDetailTab(title,id);
	}
}

//--------------------------------实现
function removeRowData(id) {
	  $.messager.confirm('提示',"你真的要删除该记录吗?", function(r){
		if (r){
			var keys = '?1=1&id=' + id;
            $.post(contextPath+"/remove",keys,function(data){
                if(data.code == 'SUCCESS') {
                    $.messager.alert("提示","操作成功!");
                    $("#topdatagrid").datagrid("reload");
                } else {
                    $.messager.alert("提示","[" + data.code +"] " + data.description+"!");
                }
            },'json');
		}
	  });     
}

function removeRowsData(checkedrow) {
    if (checkedrow == null || checkedrow.length == 0) {
        $.messager.alert("提示","请选择需要删除的记录!");
        return;
    }
    $.messager.confirm('提示',"你真的要删除选择的" + checkedrow.length + "条记录吗?", function(r){
		if (r){
				var keys = '?1=1';
	            for (var i = 0; i < checkedrow.length; i++) {
	                keys =keys +'&id=' + checkedrow[i].id;
	            }
	            $.post(contextPath+"/remove",keys,function(data){
	                if(data.code == 'SUCCESS') {
	                    $.messager.alert("提示","操作成功!");
	                    $("#topdatagrid").datagrid("reload");
	                } else {
	                    $.messager.alert("提示","[" + data.code +"] " + data.description+"!");
	                }
	            },'json');
		}
    });
}

// 打开一个添加dialog
function openDialog(title, id,width,height) {
    openDialogInner(contextPath+'/edit/',title,id,width,height);
}
// 打开一个详情的dialog
function openDetailDialog(title,id,width,height) {
    openDialogInner(contextPath+'/detail/',title,id,width,height);
}
// 打开一个添加tab
function openTabs(title, id) {
	window.parent.addTabRecord({id:title,title:window.parent.$('.tabs-selected').text()});
	if(window.parent.$('#tt').tabs('exists',title)){ 	
		window.parent.$('#tt').tabs('select', title);
		var tab = window.parent.$('#tt').tabs('getSelected');
        refreshTab({tabTitle:title,url:contextPath+'/edit/'+id});  
	}else{
        var  content = '<iframe scrolling="auto" frameborder="0"  src="'+contextPath+'/edit/'+id+'" style="width:100%;height:100%;"></iframe>';  
        window.parent.$('#tt').tabs('add',{  
            title:title, 
            id:title,
            closable:true,
            fit:true,
            content:content 
        }); 
		
	}
}

// 打开一个tab自己传Url
function openTabsByUrl(title,url) {
	if(window.parent.$('#tt').tabs('exists',title)){ 	
		window.parent.$('#tt').tabs('select', title);
		var tab = window.parent.$('#tt').tabs('getSelected');
        refreshTab({tabTitle:title,url:url});
	}else{
        var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'"style="width:100%;height:100%;"></iframe>';  
        window.parent.$('#tt').tabs('add',{  
            title:title,  
            closable:true,
            fit:true,
            content:content
        }); 
		
	}
	
}

// 打开一个详情tab
function openDetailTab(title,id) {
	if(window.parent.$('#tt').tabs('exists',title)){ 	
		window.parent.$('#tt').tabs('select', title);
		var tab = window.parent.$('#tt').tabs('getSelected');
        refreshTab({tabTitle:title,url:contextPath+'/detail/'+id});
	}else{
        var content = '<iframe scrolling="auto" frameborder="0"  src="'+contextPath+'/detail/'+id+'"style="width:100%;height:100%;"></iframe>';  
        window.parent.$('#tt').tabs('add',{  
            title:title,  
            closable:true,
            fit:true,
            content:content
        }); 
		
	}
}    

/**
 * 刷新tab
 * 
 * @cfg example: {tabTitle:'tabTitle',url:'refreshUrl'}
 *      如果tabTitle为空，则默认刷新当前选中的tab 如果url为空，则默认以原来的url进行reload
 */  
function refreshTab(cfg){  
    var refresh_tab = cfg.tabTitle?window.parent.$('#tt').tabs('getTab',cfg.tabTitle):window.parent.$('#tt').tabs('getSelected');  
    if(refresh_tab && refresh_tab.find('iframe').length > 0){
    var _refresh_ifram = refresh_tab.find('iframe')[0];  
    var refresh_url = cfg.url?cfg.url:_refresh_ifram.src;  
    // _refresh_ifram.src = refresh_url;
    _refresh_ifram.contentWindow.location.href=refresh_url;  
    }  
} 


function openDialogInner(url,title,id,width,height) {
	 var getTimestamp=new Date().getTime();
        $('#edit-dialog').dialog({
            title : title,
            method : "POST",
            width :width,
            height :height,
            fitColumns:true,
            closed : false,
            cache : false,
            href : url + id,
            modal : true               	     
        });
       // $('#edit-dialog').dialog('refresh',url + id);
}

function openDialogIframe(url,title,width,height) {
	 var content = '<iframe scrolling="no" frameborder="0"  src="'+url+'" style="width:'+width+';height:'+height+';"></iframe>';  
	 var getTimestamp=new Date().getTime();
       $('#edit-dialog').dialog({
           title : title,
           method : "POST",
           width :width,
           height :height,
           fitColumns:true,
           closed : false,
           cache : false,
           content : content,
           modal : true               	     
       });
      // $('#edit-dialog').dialog('refresh',url + id);
}
function openDialogImg() {
	 var content = '<iframe scrolling="no" frameborder="0"  src="'+contextPath+'/main/main/updateImg" style="width:535px;height:412px;"></iframe>';  
	 var getTimestamp=new Date().getTime();
      $('#edit-dialog').dialog({
          title : '上传图片',
          method : "POST",
          width :'550px',
          height :'450px',
          fitColumns:true,
          closed : false,
          cache : false,
          content : content,
          modal : true               	     
      });
     // $('#edit-dialog').dialog('refresh',url + id);
}
var defaultPageSize=20;
$(function(){
    if($('#searchValueInput') != 'undefine') {
        $('#searchValueInput').searchbox({
            searcher : function(value, name) {
                $("#topdatagrid").datagrid({
                    queryParams : {
                        key : name,
                        value : value
                    }
                });
                // $("#topdatagrid").datagrid("reload");
            },
            menu : '#searchKeySelect',
            prompt : '请输入查询值'
        });
    
    }


    $("#topdatagrid").datagrid({
        onRowContextMenu : onRowContextMenuFunction,
        toolbar : '#datagridtoolbar',
        pageSize : defaultPageSize,
        onBeforeLoad : function(){
            var pager = $("#topdatagrid").datagrid('getPager');
            defaultPageSize=pager.data("pagination").options.pageSize;
            $(pager).pagination({
                pageSize :defaultPageSize,
                pageList : [20, 50, 100 ],
                beforePageText : '第',
                afterPageText : '页   共 {pages} 页',
                displayMsg : '当前显示 {from} - {to} 条记录   共 {total} 条记录'
            });
            return true;
        }
    });

    
});

// 去空格
function getTrim(id){
	var _trim=$.trim($("#"+id+"").textbox("getValue"));
    $("#"+id+"").textbox("setValue", _trim); 
}
function fixWidth(percent){     
	return (document.body.clientWidth - 5) * percent ;      
}
	 

// panel拖动越界处理
var easyuiPanelOnMove = function(left, top) {
	var parentObj = $(this).panel('panel').parent();
	if (left < 0) {
		$(this).window('move', {
			left : 1
		});
	}
	if (top < 0) {
		$(this).window('move', {
			top : 1
		});
	}
	var width = $(this).panel('options').width;
	var height = $(this).panel('options').height;
	var right = left + width;
	var buttom = top + height;
	var parentWidth = parentObj.width();
	var parentHeight = parentObj.height();
	if(parentObj.css("overflow")=="hidden"){
		if(left > parentWidth-width){
			$(this).window('move', {
				"left":parentWidth-width
			});
		}
		if(top > parentHeight-height){
			$(this).window('move', {
				"top":parentHeight-height
			});
		}
	}
};
$.fn.panel.defaults.onMove = easyuiPanelOnMove;
$.fn.window.defaults.onMove = easyuiPanelOnMove;
$.fn.dialog.defaults.onMove = easyuiPanelOnMove;

/*
 * ********************************************** 新开tab自动关闭，原始开启tab刷新
 * 
 * 
 * ***********************************************
 */
// *****公共存储数组对象******
var tabRecord = new Array();

/*
 * 数组排重添加属性（模拟map）
 */
Array.prototype.addRepeatAttr=function(data){
    var tmp={},b=[],a=this,hFlag=false; 
    for(var i=0;i<a.length;i++){
        if(a[i].id==data.id){
            a[i].title = data.title;
            hFlag = true;
        }
    };
    if(!hFlag){
    	a.push(data);
    }
}

/*
 * 数组获取属性（模拟map）
 */
Array.prototype.getAttr=function(id){
    var tmp={},b=[],a=this,re=''; 
    for(var i=0;i<a.length;i++){
        if(a[i].id==id){
            re = a[i].title 
            
        }
    };
    return re;
}

/*
 * 添加新开tab和发起tab记录 {id:newOpenTabTitle,title:oldTabTitle}
 */
function addTabRecord(record){
	tabRecord.addRepeatAttr(record);
}

/*
 * 关闭本tab查询开启原始tab选中并刷新
 */
function closeRefesh(tabsId){
	 $.messager.alert("提示","操作成功");
	 var titleCloseTab = $('.tabs-selected').text();
	 // 关闭选中的页
	 $('#'+tabsId).tabs('close',titleCloseTab);
	 // 查找来源页
	 var refeshtab = tabRecord.getAttr(titleCloseTab);
	 // 存在重新查询
	 if($('#'+tabsId).tabs('exists',refeshtab)){ 	
	    $('#'+tabsId).tabs('select', refeshtab);
	    var tab = $('#'+tabsId).tabs('getSelected');		
        var tbId = tab.attr("id");
        // 获取tab的iframe对象
        var tbIframe = $("#"+tbId+" iframe:first-child");
        tbIframe[0].contentWindow.doSearch();
	 }
}
//----------------------------------------weizhi
var context_menu_click_row;
function onRowContextMenuFunction(e, rowIndex, rowData){
    context_menu_click_row = rowData;
     $('#datagridcontextmenu').menu('show', {
         left:e.pageX,
         top:e.pageY
     }); 
     e.preventDefault();     
 }
function subDetailFormatter(index,row){
    return '<div style="padding:2px;background-color:red"><table class="ddv"></table><div class="innertoolbar" title="" style="display:none"></div></div>';
}

function showOrHideSubDataGrid(title,index,url,columns) {
    // var title = "showFamily";
    var toolbarDiv = $("#topdatagrid").datagrid('getRowDetail',index).find('div.innertoolbar');
    var t = $(toolbarDiv).attr('title');
    if (title == t) {// collapseRow
        $(toolbarDiv).attr('title', '');
        $("#topdatagrid").datagrid("collapseRow",index);
        ddv.datagrid({});
        return;
    }
    var ddv = $("#topdatagrid").datagrid('getRowDetail',index).find('table.ddv');
    
    $("#topdatagrid").datagrid("expandRow",index);
    ddv.datagrid({
        url:url,
        fitColumns:true,
        singleSelect:true,
        rownumbers:true,
        loadMsg:'正在加载...',
        height:'auto',
        columns:columns,
        onResize:function(){
            $('#topdatagrid').datagrid('fixDetailRowHeight',index);
        },
        onLoadSuccess:function(){
            setTimeout(function(){
                $('#topdatagrid').datagrid('fixDetailRowHeight',index);
            },0);
        }
    });
    $(toolbarDiv).attr('title', title);
    $("#topdatagrid").datagrid('fixDetailRowHeight',index);
}


// 刷新tab
function reloadSelectedTab(title){
	var tab = window.parent.$('#tt').tabs('getSelected');
	tab.find('iframe')[0].contentWindow.location.reload(true);
}
function closeTab(){
	var tab = window.parent.$('#tt').tabs('getSelected');
	var index = window.parent.$('#tt').tabs('getTabIndex',tab);
	index=index-1;
	var reloadTab=window.parent.$('#tt').tabs('getTab',index);
	reloadTab.find('iframe')[0].contentWindow.reloadTable();
}
function reloadTable(){
	$("#topdatagrid").datagrid("reload");
}

// 二级tab初始载入及第一次跳转点击载入
var openedHandleTabs = '';
function initSecondLevelTabs(tabsId){
		var tab = $('#'+tabsId).tabs('getSelected');
		var refresh_iframe = tab.find('iframe')[0];
		refresh_iframe.src=refresh_iframe.name;
		openedHandleTabs = refresh_iframe.title;
		$('#'+tabsId).tabs({
			onSelect: function(title,index){
				 var tab = $('#'+tabsId).tabs('getSelected');
				 var refresh_iframe = tab.find('iframe')[0];
				 // 每次都刷新的
				 if(refresh_iframe.name.indexOf("/tours/editone")>0){
					 refresh_iframe.src=refresh_iframe.name;
				 }
				 if(openedHandleTabs.indexOf(refresh_iframe.title)<0){
					refresh_iframe.src=refresh_iframe.name;
					openedHandleTabs+=refresh_iframe.title;
				 }
				     
			}
		});	
}


//关闭二级Tab
function closeSecondTab(tabsId,title,refreshTabTitle) {
	window.parent.openedHandleTabs = window.parent.openedHandleTabs.replace(refreshTabTitle,'');
	window.parent.$(tabsId).tabs('select', refreshTabTitle);
	window.parent.$(tabsId).tabs('close', title);
}

// 处理键盘事件 禁止后退键（Backspace）密码或单行、多行文本框除外
function banBackSpace(e){ 
	var ev = e || window.event;// 获取event对象
	var obj = ev.target || ev.srcElement;// 获取事件源
	var t = obj.type || obj.getAttribute('type');// 获取事件源类型
	// 获取作为判断条件的事件类型
	var vReadOnly = obj.getAttribute('readonly'); 
	var vEnabled = obj.getAttribute('enabled'); 
	// 处理null值情况
	vReadOnly = (vReadOnly == null) ? false : vReadOnly; 
	vEnabled = (vEnabled == null) ? true : vEnabled; 
	
	// 当敲Backspace键时，事件源类型为密码或单行、多行文本的，
	// 并且readonly属性为true或enabled属性为false的，则退格键失效
	var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") 
	&& (vReadOnly==true || vEnabled!=true))?true:false; 
	
	// 当敲Backspace键时，事件源类型非密码或单行、多行文本的，则退格键失效
	var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") 
	?true:false; 
	
	if(flag2){ 
	return false; 
	} 
	if(flag1){ 
	return false; 
	} 
} 

// 禁止后退键 作用于Firefox、Opera
document.onkeypress=banBackSpace; 
// 禁止后退键 作用于IE、Chrome
document.onkeydown=banBackSpace;